#!/bin/bash
#执行前先 在外部格式化脚本
#yum install -y dos2unix
#dos2unix auto.cicd.sh
#备份数据库和tomcat文件
#先备份数据库再备份文件
#备份后上传阿里云，阿里保留3份文件，然后删除3天前的备份
#上传完后删除服务上的备份文件，很占空间
#备份文件 https://www.cnblogs.com/joshua317/p/6170839.html
# H 3 * * *   每天3点执行定时任务
# 执行命令 /bin/bash /www/back/bbs-back.aliyun.sh
echo '使用备份脚本需要阿里ossutil64工具，工具移动到/usr/local/sbin 下可以全局使用，使用文档 https://help.aliyun.com/document_detail/195960.htm#section-8mw-ccc-kly'
ossutil64 --version
echo '当前目录'
pwd

now="`date +%Y%m%d%H%M`" #时间
echo '当前时间：'$now
sql=bbs.happyporn7.sql.${now}.tar.gz #备份的sql文件名
file=bbs.happyporn7.file.${now}.tar.gz #备份的文件文件名
before="`date -d '3 day ago' +%Y%m%d`" #三天前的时间
echo '三天前时间:'$before
beforeSql=bbs.happyporn7.sql.${before}*
beforeFile=bbs.happyporn7.file.${before}*
backdir=/home/data #backdir_home目录

echo '备份数据库'
time tar -zcPf ${backdir}/back/${sql}  /home/docker/volumes/sqlserver/*
echo '上传数据库到阿里云'
echo ${backdir}/back/${sql}
ossutil64 cp ${backdir}/back/${sql} oss://ijxjq
echo '上传成功'
echo '删除服务器备份数据库'
rm -rf ${backdir}/back/${sql}
echo '删除3天前备份数据库'
ossutil64 rm oss://ijxjq/${beforeSql} -rf
echo '备份文件'
backdir=/home/data
time tar -zcPf ${backdir}/back/${file}  ${backdir}/bbs/*
echo '上传文件到阿里云'
ossutil64 cp ${backdir}/back/${file} oss://ijxjq
echo '上传成功'
echo '删除服务器备份文件'
rm -rf ${backdir}/back/${file}
echo '删除3天前备份文件'
ossutil64 rm oss://ijxjq/${beforeFile} -rf
echo '列出阿里云文件列表'
ossutil64 ls oss://ijxjq/
